package day10;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public abstract class Person {
	private String name;
	private int age;

	// 不同身份的人, 工作内容不同
	// 定义方法时, 无法明确方法的具体实现
	// 需要强制子类对象方法进行重写
	// 可以在类中对方法只进行声明, 而不进行具体实现
	// 这种只有方法的声明, 没有方法体的方法, 叫 "抽象方法"
	// 抽象方法必须用`abstract`关键字修饰
	// 当一个类中含有抽象方法时, 该类也必须以`abstract`关键字修饰
	// 这种类, 称为 "抽象类"
	// 也就是说: 一个含有抽象方法的类, 必须是抽象类
	public abstract void work();
	// This method requires a body instead of a semicolon
	// The abstract method work in type Person can only be defined by an abstract class
}
